일단 위 링크의 방법을 그대로 이용했고, 한글로 살짝살짝 정리하고 권한 설정 등만 추가적으로 정리. 사실 위 링크가 정리가 엄청 잘 돼있어서 별도 정리는 필요없지만... 혹시나 위 링크가 사라질까봐 별도로 하나 정리
작업하기 전에, 다음의 명령어로 최신 상태로 업데이트해주자.
sudo apt-get update
sudo apt-get upgrade
그리고 이후에 작업할 내용들은 대부분 관리자 권한이 필요하기 때문에, 다음의 명령어를 치고 진행하자
sudo su
1. 필요한 모듈 설치: subversion / apache2 / libapache2-svn
이미 설치되어 있는 거 빼곤 다 설치해주자. 나는 이미 웹서버를 돌리고 있어서 apache2는 필요없었고, 나머지 두개를 설치함. 아래부터는 모두 superuser 상태에서 실행한 내용이다.
apt-get subversion apache2 libapache2-svn
2. Repository 폴더 생성: 맘대로 생성해도 되겠지만, 난 일단 하라는 대로 했다. blahblah에는 당연히 본인이 원하는 이름을 넣는다.
mkdir /home/pi/repos
svnadmin create /home/pi/repos/blahblah
3. SVN 테스트: 아파치랑 연동해서 웹에서 접근하는 것을 설정하기 전에, SVN이 잘 동작하는지 테스트해보는 단계.
mkdir /home/pi/temp
cd /home/pi/temp
nano temp.txt
이렇게 해서 편집기 화면에 들어가면, 아무거나 쓴 뒤 저장해보자. 그 다음 아래 명령어를 친다. 새로 생성한 temp라는 폴더 째로 SVN에 추가한다는 뜻이다.
svn import /home/pi/temp/ file://localhost/home/pi/repos/blahblah/
위 명령어를 치고 나면 해당 리비전에 대해서 설명을 적도록 나오고, 뭔가 설명을 적은 후 Ctrl+X 하면 저장되면서 리비전 1이 생성된다. 여기까지 정상이라면 SVN 테스트는 끝.
4. 웹에서 접근할 수 있도록 설정: 아파치 웹서버를 처음에 깔아서 웹에서 라즈베리파이로 접근할 수 있을 테고, SVN에도 접근할 수 있도록 설정하는 단계.
nano /etc/apache2/mods-available/dav_svn.conf
위 명령어를 통해 dav_svn.conf 파일을 열어 보면, 기본적으로 파일의 골격이 모두 짜여져 있다. 대신 모두 주석처리되어 있는데 그 중 필요한 부분만 주석을 해제해서 사용하자. 내가 해제한 부분은 아래와 같다. 원 링크 본문의 설명도 같은 내용이다.
맨 아래 여섯 줄은 권한 설정 부분인데, LimitExcept 부분은 쓰기 권한, "별도 추가" 라고 써 있는 부분은 읽기 권한을 설정하는 부분이다. 별도 추가한 부분이 없으면 아무나 주소로 접속해서 파일을 읽을 수 있다. 위와 같이 설정하면 읽기/쓰기 모두 로그인을 해야 접근할 수 있다.
5. 로그인 ID/PW 생성: 접근 권한을 설정했으니, 실제로 접근할 사용차를 추가해 주는 과정이다.
htpasswd -c /etc/apache2/dav_svn.passwd id
id 부분엔 실제로 본인이 사용할 ID를 넣어준다. ID를 처음 생성할 때는 -c 라는 옵션을 붙이고 두번째 id부터는 -c는 필요없다고 한다. 그리고 비밀번호를 변경하려면 -m이라는 옵션을 사용
htpasswd -m /etc/apache2/dav_svn.passwd id
위처럼 쓰면 같은 id에 비밀번호만 변경할 수 있다.
6. 폴더 접근 권한 변경 및 아파치 재시작
chown -R www-data:www-data /home/pi/repos
/etc/init.d/apache2 restart
여기까지 하면 셋업은 완료.
원문에 나오는 다음 과정은 리눅스에서 실제로 사용하기 위한 과정이고, 나는 윈도우 환경에서 사용할 거기 때문에... 윈도우에서 쓰려면 TortoiseSVN 을 깔고 Repository Browser로 접속한다. 아까처럼 home/pi/repos 내에 blahblah 라고 설정했으면, TortoiseSVN에 url 란에다가 http://192.168.xxx.xxx/svn/blahblah 라고 쓰면 접속된다. 192.168.xxx.xxx 부분에는 본인의 localhost IP를 적으면 된다.
댓글